The presently disclosed embodiments are directed toward techniques for quantizing or transforming continuous tone or contone image data for rendering on reduced quantization rendering devices such as liquid crystal displays and binary or high-addressable printers. Embodiments will be described with regard to subtractive colorant (e.g., cyan, yellow and magenta) based rendering devices (e.g., printers). Embodiments are applicable to other colorant spaces, including, but not limited to the red, green and blue color spaces of display devices and the additional colorant dimension color spaces of high fidelity (HI-FI) and Photo Tone printing devices.
Image quantization techniques include halftoning via screening and error diffusion techniques. These techniques determine or select marking decisions. Marking decisions can be binary (on or off, mark or no mark) or be associated with high addressability pixels associated with additional quantization levels. However, marking decisions are associated with fewer quantization levels that are contone pixel values. Accordingly, selection of a set of marking decisions for an image is said to result in a reduced quantization version of that image. Each class of technique has advantages and disadvantages as compared to the other class. At commonly available resolutions, halftoning can lead to visual artifacts. For instance, halftone cell repetitions often fall within a range of frequencies that are visually detectable. Error diffusion often results in marks being placed at a frequency and in a non-repeating manner that is less visible. However, error diffusion techniques can be associated with other objectionable phenomena.
For example, U.S. Pat. No. 5,045,952 by Eshbach, titled “Method for Edge Enhanced Error Diffusion”, which is incorporated herein by reference in its entirety, indicates that a difficulty with the Floyd-Steinberg error diffusion algorithm is that an inherent edge related artifact is built into the algorithm. Eshbach indicates that analysis of the output of the Floyd-Steinberg error diffusion algorithm illustrates a characteristic overshoot (too dark or too light) at upward and downward transitions, or steps, in the continuous tone digital image data.
Eshbach describes a method for edge modification (i.e., enhancement or attenuation) that is applicable to scalar error diffusion techniques.
As used herein, —scalar—refers to quantization techniques which consider only a single value from a given pixel when making a marking decision regarding that value of that pixel. For example, scalar error diffusion techniques are applied to black and white or monochrome contone images to make marking decisions regarding a single colorant. Additionally, scalar error diffusion techniques can be applied separately to each separation of a color image. For example, where each pixel of a contone version of an image describes a small portion of the image in terms of colorant densities of cyan, magenta, yellow and optionally black colorants (CMY and optionally K), a scalar form of error diffusion makes marking decisions regarding the cyan colorant without considering the values of the target pixel associated with the other colorants (e.g., magenta, yellow and optionally black). Similarly, a marking decision is made with regard to the magenta colorant without considering the values of the pixel related to the cyan, yellow and black colorants.
Eshbach's technique varies a marking decision threshold applied to an error modified pixel value according to the contone value of the related original contone image pixel, thereby providing a means for influencing the location of lightness or darkness in the vicinity of an edge. However, scalar error diffusion techniques do not consider or compensate for the effects of interactions between dot patterns of different color separations. Accordingly, scalar techniques can suffer from color errors and displeasing moiré and other patterning artifacts.
In vector error diffusion (VED), contone values regarding a first colorant (e.g., cyan) can have a bearing or be a factor in a marking decision associated with a second colorant (e.g., magenta). Indeed, all the values of a particular pixel may be considered when making a marking decision regarding a particular colorant. That is, in vector error diffusion, colors are treated as points in a multidimensional color space with the colors printable or displayable located at discrete reference locations within that space. When a continuous tone or contone color is to be displayed, for example, the closest displayable color can be selected for display, with color error being calculated as a vector in the color space and diffused to neighboring pixels.
However, the above-described form of vector error diffusion can be associated with patterning artifacts.
U.S. Pat. No. 5,621,546 by Klassen et al., titled “Method and Apparatus for Vector Error Diffusion with Output Color Control”, which is incorporated herein by reference in its entirety, describes a method of vector error diffusion (VED) that disperses the pixels printed or displayed to increase the dominant spatial frequency so that less visible noise is produced. The method biases marking decisions away from producing black and white pixels and away from producing pixels of secondary colors (comprised of two colorants) in favor of making marking decisions for a given pixel that provide only a single colorant (primary colors).
These vector error diffusion techniques assign marking decisions to various locations in their respective color spaces and in so doing, move away from the concept of thresholding. Accordingly, the method of Eshbach is not applicable to vector error diffusion and vector error diffusion techniques have been without a mechanism for controlling or modifying (i.e., enhancing or attenuating) edges.